101
8.5
Exercises for Chap. 8
Task 8.1
How much does the computation time increase with different algorithms?
Compare the RNA folding algorithm RNAfold, a BLAST search, and protein folding.
With BLAST, also try to clarify at the same time how the E-value moves favorably down
ward, to smaller values, with a smaller database.
Just try out the different calculation times with your own test examples.
Task 8.2
So how do you deal with the hard problems that biological systems present you with?
Please list some different search strategies that you have learned about in the book or that
you can think of (don’t worry, the best ones will be discussed in a moment).
Task 8.3
What general search strategies for complex problems in bioinformatics do you know?
Task 8.4
Explain what is meant by NP-problems or P-problems in bioinformatics? How is a diffi
cult computational problem defined informatically? Make this clear with an example.
Useful Tools and Web Links
https://baba.sourceforge.net
• Here basic algorithms of bioinformatics like local and global alignment are
presented very nicely and exemplarily.
https://discrete.gr/complexity/
• This page gives a nice introduction to computing complexity.
Turing machine:
https://www.alanturing.net/turing_archive/pages/reference%20articles/
what%20is%20a%20turing%20machine.html
• There are many representations of this, but this one is right on the Turing net
work and descriptive.
NP problems pitfalls:
https://www.win.tue.nl/~gwoegi/P-versus-NP.htm
• This page shows a bit of how not to do it (or how easy it is to fail at this prob
lem). For solid work, see Aaranson 2003, 2005, respectively.
Introduction to parallel programming (for time-consuming calculations):
Parallel Programming with C+ + :
https://gridgroup.hefr.ch/popc/doku.php
Message Passing Interface (MPI):
Parallelization (Introduction to parallel programming)
https://mpitutorial.com/tutorials/mpi-introduction/
8.5 Exercises for Chap. 8